#ifndef _TCPLIB_NETADDR_HPP_
#define  _TCPLIB_NETADDR_HPP_
#include <netinet/in.h>
#include <stdint.h>
#include <strings.h>
#include <string>


namespace tcplib
{

    class NetAddr
    {
        struct sockaddr_in _addr;

        void clear();

    public:
        NetAddr();

        /* with ip 0.0.0.0 */
        NetAddr(uint16_t port);

        NetAddr(const struct sockaddr_in &addr);

        /* ##.##.##.##:## sytle */
        NetAddr(const char *ip_port);

        NetAddr(const char *ip, uint16_t port);

        void set_ip_port(const char *ip, uint16_t port);
        std::string to_ip_port();
        const struct sockaddr_in get_sockaddr() const { return _addr; }
    };
    
};


#endif

